A prior art CAM search operation is shown in FIGS. 1 and 2 which illustrate the manner in which a typical prior art search operation is performed. FIG. 1 is a diagram of a one row comparison of stored data against compare data inputs, while FIG. 2 shows the timing of such operation. During a search operation, MLRestb (match line restore) will go high enabling the ML match line to be pulled low, and the Compare_Enable will go high enabling the compare data to be driven onto the compare lines. While Compare_Enable is low, both compare lines are low, but when the Compare_Enable goes high, the search value is driven onto the proper compare line. If the compare data in value is high, the compare line true will be driven high; if the compare data in value is low, the compare line compliment will be driven high. The compare lines then drive a dual-rail XOR that will pull the match line low if the compare data “in” does not match the stored value.
When every bit on the match line matches its corresponding compare data, the match line will remain high. Match line evaluation circuitry is then used to send a ‘HIT’ signal to the output of the macro indicating that there was a match inside of the CAM. If one or more of the bits resulted in a mismatch, the match line will be pulled low, and the evaluation circuitry will send a ‘MISS’ result to the output of the CAM structure.
FIG. 3 shows a conventional prior art extension of the design in FIG. 1 where a match line is large enough to require segmentation for performance improvement. In this case, if one or more bits in group A mismatch, the local match line will be pulled low, and the ripple through circuit will pull the main match line low. The match line will then be evaluated by the same evaluation circuitry described above.
U.S. Pat. No. 6,452,822 B1 entitled “Segmented Match Line Arrangement For Content Addressable Memory” granted to Chai, et al on Sep. 17, 2002 and commonly assigned, which is incorporated herein by reference, states that a memory cell can be used in conjunction with a typical ripple through, such as in FIG. 3, to enable or disable the local match line comparison on a per-line basis. This is different from that of the current invention because it does not allow for storage and use of the previous local match line comparison result.
In both FIG. 1 and FIG. 3, power is consumed by charging and discharging the compare lines and by switching all of the local match lines, except for the ones that may result in a match. (Figures referred to are shown in question 3 below.)